Modelling Requirement Engineering
Recognizing Multiple viewpoint
Collaborative Requirement Gathering
Building the requirements model
Imagine you're planning a party, and there are five friends involved in the decision-making process. Each friend has their own ideas about what makes a perfect party – from the music playlist to the snacks, and even the party theme. It's like having five different stakeholders in a software project, each with their unique opinions and preferences.
For the party to be a smashing success, your friends need to collaborate and find common ground. Similarly, in a software project, collaboration among stakeholders is essential. They must work together, avoiding unnecessary conflicts and ensuring that the final product meets everyone's needs.
Now, let's dive into the role of a requirements engineer – that's you, the party planner! Your job is to identify areas where everyone agrees (commonality) and areas where conflicts or inconsistencies arise. In our party example, commonality could be the agreement on having music at the party, while conflicts might arise over the choice of snacks – some want pizza, while others prefer tacos.
To resolve conflicting requirements, you decide to use a fun and engaging method called "Priority Points." You give each friend a set number of points that they can spend on different aspects of the party. For instance, they can allocate points to express how important they think the music, snacks, and decorations are.
Let's say each friend gets 10 points to spend. Friend A might spend 5 points on music, 3 on snacks, and 2 on decorations. Friend B, on the other hand, could allocate 7 points to snacks, 2 to music, and 1 to decorations.
Once all friends have spent their points, you can see a clear indication of the overall importance of each aspect. In our example, it's evident that snacks are crucial because both friends allocated a significant number of points to them. Music is also important, but there's a difference in emphasis between the friends.
While collaboration is crucial, it doesn't necessarily mean that decisions are made by committee. In your party planning scenario, you might act as the "project champion" – the one who makes the final decision based on the overall input from your friends. If there's a tie between pizza and tacos, you, as the project champion, could make the call based on factors like popularity or cost.
Collaboration among stakeholders in a software project is like planning a party with multiple friends. By using creative techniques like "Priority Points," conflicts can be resolved, and the overall importance of each requirement becomes clear. Remember, collaboration doesn't mean everyone decides together; sometimes, a project champion makes the final call based on collective input. So, just like planning a successful party, effective collaboration ensures a software project that meets everyone's needs and expectations. Cheers to successful projects and memorable parties!
Software refers to the set of programs, data, and instructions that enable computers to perform specific tasks or functions. It encompasses applications, operating systems, and utilities designed to fulfill user needs, enhancing productivity, communication, entertainment, and virtually all aspects of modern life through computational processes and data manipulation.
Software Engineering is the disciplined application of principles, methods, and tools to develop, test, deploy, and maintain high-quality software systems. It involves systematic approaches to problem-solving, project management, and teamwork, aiming to meet user needs efficiently while adhering to standards and best practices throughout the software development lifecycle.